#pragma once

#include <fstream>
#include <string>

class HashAlgorithm {
public:
    HashAlgorithm() = default;
    HashAlgorithm(const HashAlgorithm&) = delete;
    HashAlgorithm& operator=(const HashAlgorithm&) = delete;
    virtual ~HashAlgorithm() = default;

    virtual std::string getHash(const std::string& filename) const = 0;
};
